package org.cashbook.core.objects.transaction;

import java.util.Date;
import java.util.Set;

import org.cashbook.core.objects.account.IAccount;
import org.cashbook.core.objects.category.ICategory;
import org.cashbook.core.objects.keyword.IKeyword;
import org.cashbook.core.objects.luxuryClass.ILuxuryClass;
import org.cashbook.entities.IUser;

public class TransactionTransfer extends AbstractTransaction {
	
	public TransactionTransfer(Date startDate, Date endDate,
			AbstractTransaction firstOccurence,
			AbstractTransaction nextOccurence, IAccount account,
			ICategory category, ICategory subCategory, IUser user,
			Set<IKeyword> keywords, ILuxuryClass luxuryClass, double amount) {
		super(startDate, endDate, firstOccurence, nextOccurence, account, category,
				subCategory, user, keywords, luxuryClass, amount);

		this.setTargetAccount(targetAccount);
	}

	private static final long serialVersionUID = -5631030465598463795L;
	private IAccount targetAccount;

	@Override
	public String getTransactionType() {
		return "Transfer";
	}

	public IAccount getTargetAccount() {
		return targetAccount;
	}

	public void setTargetAccount(IAccount targetAccount) {
		this.targetAccount = targetAccount;
	}

}
